function $ajax({ method = "GET", url }) {
    return new Promise(function (resolve, reject) {
        // 确定何时成功 何时失败
        let xhr = new XMLHttpRequest();
        xhr.open(method, url);
        xhr.addEventListener("readystatechange", () => {
            if (xhr.readyState !== 4) {
                // 如果 状态值 尚未变成4(未完成),则直接退出函数
                return
            }
            // 如果请求成功,则 调用 resolve
            if (xhr.status == 200) {
                // 将响应体 通过 resolve 传递出去
                resolve(JSON.parse(xhr.response));
            } else {
                let errInfo = {
                    msg: "请求失败",
                    errUrl: url,
                    status: xhr.status
                }
                reject(errInfo)
            }
        });
        xhr.send();
    })
};

let preText = document.querySelector("#preText");

let loadSuccess = true;
// 预加载函数
function preloadFn(musicSrc) {
    // 预加载函数
    let preload = new createjs.LoadQueue(true);
    //注意加载音频文件需要调用如下代码行
    preload.installPlugin(createjs.SOUND);
    //为preloaded添加整个队列变化时展示的进度事件
    preload.addEventListener("progress", handleFileProgress);
    //为preloaded添加当队列完成全部加载后触发事件
    preload.addEventListener("complete", loadComplete);
    preload.addEventListener("error", loadErr);
    //设置最大并发连接数  最大值为10
    preload.setMaxConnections(10);
    preload.loadManifest(musicSrc);
    
    // 当整个队列变化时展示的进度事件的处理函数
    function handleFileProgress(event) {
        // console.log("进度改变",event);
        if (loadSuccess) {
            preText.innerText = (event.loaded * 100).toFixed(2);
        }
    }
    // 当加载失败时,触发的处理函数
    function loadErr() {
        loadSuccess = false;
        console.log('资源加载失败');
        // window.location.reload();
    }
    // 处理preload添加当队列完成全部加载后触发事件
    function loadComplete(event) {
        if (!loadSuccess) return;
        // console.log(event);
        let preloadPage = document.querySelector("#preload_Page");
        // 设置定时器，当全部加载完毕后让100%停留0.3秒，提高用户体验，不至于让用户感觉不到
        window.setTimeout(() => {
            preloadPage.style.transform = `translateX(-100%)`;
            // alert("全部完全加载完成!")
        }, 300);
    }
}
// 获取音乐文件资源路径JONS
$ajax({ url: "../data/music.json" }).then(res => {
    let startBtn = document.querySelector("#start_btn");
let start_page = document.querySelector("#start_page");
    // 取得随机30首音乐的资源
    let musicData = res.sort(() => {
        return Math.random() - 0.5
    }).slice(0, 30);
    let musicSrc = musicData.map((e) => e.audio);
    // 进行预加载
    preloadFn(musicSrc);
    startBtn.addEventListener("click", ()=>{
        start_page.style.transform = `translate(100%)`
    })

    return musicData
}).then(res =>{
    let opt = document.querySelectorAll("#opt_group li");
    let grade = 0;//计分
    let idx = 0;
    console.log(musicData);
}).catch(err => {
    console.log(err);
})
